package com.mapper;

import com.domain.entity.Goods;
import com.domain.req.PageListReq;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Collection;
import java.util.List;
import java.util.Set;

/**
* @author caishenao
* @description 针对表【goods】的数据库操作Mapper
* @createDate 2023-10-12 20:12:36
* @Entity com.entity.Goods
*/
@Mapper
public interface GoodsMapper {

    void insertGoods(Goods goods);

    List<Goods> selectGoods();

    List<Goods> selectGoodsById(Goods goods);

    void delGoods(Long id);

    void updateGoods(@Param("goods")Goods goods);

    /**
     * 根据货物id获取货物信息
     *
     * @param id 货物id
     * @return 货物信息
     */
    Goods getById(@Param("id") Integer id);

    /**
     * 选择查询商品信息
     *
     * @param pageListReq 要查询的商品信息
     * @return 商品信息集合
     */
    List<Goods> listSelect(@Param("pageListReq") PageListReq pageListReq);

    /**
     * 根据商品id集合查询商品信息集合
     *
     * @param goodsIds 商品id集合
     * @return 商品信息集合
     */
    List<Goods> listByIdList(@Param("goodsIds") Collection<Integer> goodsIds);

    /**
     * 根据输入的值，查询商品信息
     * @param searchValue 要搜索的值
     * @return 商品信息集合
     */
    List<Goods> selectGoodsBySearchValue(@Param("searchValue")String searchValue);
}




